<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script>
    var arr = [18,22,27]
    var arr2 = arr.reduce(function(accumulate,current){

        console.log('第一次循环','accumulate',accumulate,'current',current);
        
        return current
    },[])
    console.log(arr2);

    /*
        reduace 运作原理：
            第一个参数：callback （一共四个参数） ，这个参数为回调函数，这个
                        回调函数 的第一个形参 accumulate（上一次循环的值） ，
                        第二个形参 current（最新循环的值）
            第二个参数：initialValue ，为 可选参
                当 initialValue 不赋值的话：
                    第一次循环：accumulate 的值 为数组的 第一个元素 current 为数组的第二个元素
                当 initialValue 赋值的话：
                    第一次循环：accumulate 的值 为 initialValue 的值 current 为数组的第一个元素

            当 >=2 次循环 时 accumulate 为 每次循环后的 return的值

            reduace 最后的返回值为 最后一次循环的 return 值

    */



</script>